package com.liuqi.aiagent.transfer.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.util.Date;

/**
 * @author liuqi
 * @date 2025/7/22 20:49
 **/
@Setter
@Getter
@ToString
@ApiModel(value = "对话记录")
public class ChatRecord implements Serializable {
	private static final long serialVersionUID = 4069710268354401866L;

	@ApiModelProperty(value = "主键ID", example = "1")
	private Integer id;

	@ApiModelProperty(value = "agent id", example = "1")
	private Integer agentId;

	@ApiModelProperty(value = "agent 名称")
	private String agentName;

	@ApiModelProperty(value = "模型名称")
	private String modelName;

	@ApiModelProperty(value = "用户名称")
	private String username;

	@ApiModelProperty(value = "一轮对话的ID")
	private String chatId;

	@ApiModelProperty(value = "对话 开始时间", example = "1")
	private Long beginTime;

	@ApiModelProperty(value = "对话 结束时间", example = "1")
	private Long endTime;

	@ApiModelProperty(value = "用户请求消息")
	private String input;

	@ApiModelProperty(value = "AI响应消息,json 类型")
	private String output;

	@ApiModelProperty(value = "创建时间")
	private Date createTime;

	public ChatRecord() {
	}

	@Builder
	public ChatRecord(Integer agentId,
					  String agentName,
					  String modelName,
					  String username,
					  String chatId,
					  Long beginTime,
					  Long endTime,
					  String input) {
		this.agentId = agentId;
		this.agentName = agentName;
		this.modelName = modelName;
		this.username = username;
		this.chatId = chatId;
		this.beginTime = beginTime;
		this.endTime = endTime;
		this.input = input;
	}

}
